Don't sent native MotionHint masks on pointer grabs as then we won't get enought...
authorAlexander Larsson <alexl@redhat.com>
Sun, 7 Dec 2008 11:17:48 +0000 (12:17 +0100)
committerAlexander Larsson <alex@localhost.localdomain>
Thu, 2 Apr 2009 08:14:07 +0000 (10:14 +0200)
gdk/x11/gdkmain-x11.c

index 89a9c75f552521101d4fc7cd91e706ed6f77cdc0..5be11019020d554529293bfcd9f32070ed03f975 100644 (file)
@@ -206,7 +206,7 @@ gdk_pointer_grab (GdkWindow *         window,
 
   native = gdk_window_get_toplevel (window);
 
-  /* TODO: What do we do for offscreens and  children? We need to proxy the grab somehow */
+  /* TODO: What do we do for offscreens and  their children? We need to proxy the grab somehow */
   if (!GDK_IS_WINDOW_IMPL_X11 (GDK_WINDOW_OBJECT (native)->impl))
     return GDK_GRAB_SUCCESS;
   
@@ -239,6 +239,11 @@ gdk_pointer_grab (GdkWindow *        window,
       if (event_mask & (1 << (i + 1)))
        xevent_mask |= _gdk_event_mask_table[i];
     }
+
+  /* We don't want to set a native motion hint mask, as we're emulating motion
+   * hints. If we set a native one we just wouldn't get any events.
+   */
+  xevent_mask &= ~PointerMotionHintMask;
   
   return_val = _gdk_input_grab_pointer (native,
                                        owner_events,